Williams R Zone Scalper v1.0[BullByte]Originality & Usefulness
Unlike standard Williams R cross-over scripts, this strategy layers five dynamic filters—moving-average trend, Supertrend, Choppiness Index, Bollinger Band Width, and volume validation —and presents a real-time dashboard with equity, PnL, filter status, and key indicator values. No other public Pine script combines these elements with toggleable filters and a custom dashboard. In backtests (BTC/USD (Binance), 5 min, 24 Mar 2025 → 28 Apr 2025), adding these filters turned a –2.09 % standalone Williams R into a +5.05 % net winner while cutting maximum drawdown in half.
---
What This Script Does
- Monitors Williams R (length 14) for overbought/oversold reversals.
- Applies up to five dynamic filters to confirm trend strength and volatility direction:
- Moving average (SMA/EMA/WMA/HMA)
- Supertrend line
- Choppiness Index (CI)
- Bollinger Band Width (BBW)
- Volume vs. its 50-period MA
- Plots blue arrows for Long entries (R crosses above –80 + all filters green) and red arrows for Short entries (R crosses below –20 + all filters green).
- Optionally sets dynamic ATR-based stop-loss (1.5×ATR) and take-profit (2×ATR).
- Shows a dashboard box with current position, equity, PnL, filter status, and real-time Williams R / MA/volume values.
---
Backtest Summary (BTC/USD(Binance), 5 min, 24 Mar 2025 → 28 Apr 2025)
• Total P&L : +50.70 USD (+5.05 %)
• Max Drawdown : 31.93 USD (3.11 %)
• Total Trades : 198
• Win Rate : 55.05 % (109/89)
• Profit Factor : 1.288
• Commission : 0.01 % per trade
• Slippage : 0 ticks
Even in choppy March–April, this multi-filter approach nets +5 % with a robust risk profile, compared to –2.09 % and higher drawdown for Williams R alone.
---
Williams R Alone vs. Multi-Filter Version
• Total P&L :
– Williams R alone → –20.83 USD (–2.09 %)
– Multi-Filter → +50.70 USD (+5.05 %)
• Max Drawdown :
– Williams R alone → 62.13 USD (6.00 %)
– Multi-Filter → 31.93 USD (3.11 %)
• Total Trades : 543 vs. 198
• Win Rate : 60.22 % vs. 55.05 %
• Profit Factor : 0.943 vs. 1.288
---
Inputs & What They Control
- wrLen (14): Williams R look-back
- maType (EMA): Trend filter type (SMA, EMA, WMA, HMA)
- maLen (20): Moving-average period
- useChop (true): Toggle Choppiness Index filter
- ciLen (12): CI look-back length
- chopThr (38.2): CI threshold (below = trending)
- useVol (true): Toggle volume-above-average filter
- volMaLen (50): Volume MA period
- useBBW (false): Toggle Bollinger Band Width filter
- bbwMaLen (50): BBW MA period
- useST (false): Toggle Supertrend filter
- stAtrLen (10): Supertrend ATR length
- stFactor (3.0): Supertrend multiplier
- useSL (false): Toggle ATR-based SL/TP
- atrLen (14): ATR period for SL/TP
- slMult (1.5): SL = slMult × ATR
- tpMult (2.0): TP = tpMult × ATR
---
How to Read the Chart
- Blue arrow (Long): Williams R crosses above –80 + all enabled filters green
- Red arrow (Short) : Williams R crosses below –20 + all filters green
- Dashboard box:
- Top : position and equity
- Next : cumulative PnL in USD & %
- Middle : green/white dots for each filter (green=passing, white=disabled)
- Bottom : Williams R, MA, and volume current values
---
Usage Tips
- Add the script : Indicators → My Scripts → Williams R Zone Scalper v1.0 → Add to BTC/USD chart on 5 min.
- Defaults : Optimized for BTC/USD.
- Forex majors : Raise `chopThr` to ~42.
- Stocks/high-beta : Enable `useBBW`.
- Enable SL/TP : Toggle `useSL`; stop-loss = 1.5×ATR, take-profit = 2×ATR apply automatically.
---
Common Questions
- * Why not trade every Williams R reversal?*
Raw Williams R whipsaws in sideways markets. Choppiness and volume filters reduce false entries.
- *Can I use on 1 min or 15 min?*
Yes—adjust ATR length or thresholds accordingly. Defaults target 5 min scalping.
- *What if all filters are on?*
Fewer arrows, higher-quality signals. Expect ~10 % boost in average win size.
---
Disclaimer & License
Trading carries risk of loss. Use this script “as is” under the Mozilla Public License 2.0 (mozilla.org). Always backtest, paper-trade, and adjust risk settings to your own profile.
---
Credits & References
- Pine Script v6, using TradingView’s built-in `ta.supertrend()`.
- TradingView House Rules: www.tradingview.com
Goodluck!
BullByte
Cerca negli script per "the script"
GRASS Purple Cloud [MMD] MTFThis Pine Script code is a trading strategy designed for use on the TradingView platform. It implements a multi-timeframe (MTF) strategy called "GRASS Purple Cloud " that utilizes various technical indicators to generate buy and sell signals. Below is a breakdown of the key components of the script:
Key Components of the Strategy
Inputs:
HTF (Higher Time Frame): Allows the user to select a higher time frame for analysis.
ATR and Supertrend Parameters: Inputs for the Average True Range (ATR) and Supertrend indicator, which are used to determine market volatility and trend direction.
Buying and Selling Pressure Thresholds: These thresholds help define conditions for entering trades based on buying and selling pressure.
Backtest Date Range: Users can specify a date range for backtesting the strategy.
HTF Logic:
The htfLogic function calculates various values based on the selected higher time frame, including buying and selling conditions, which are then used to generate signals.
Signal State Tracking:
The script tracks the state of buy and sell signals using a variable xs, which changes based on the conditions defined in the htfLogic function.
Coloring and Labels:
The bars on the chart are colored green for buy signals and red for sell signals. Additionally, labels are plotted to indicate strong buy and sell signals.
EMA Plotting:
The script includes optional plotting of Exponential Moving Averages (EMAs) for 20, 50, and 200 periods, which can help traders identify trends.
Trade Management:
The strategy includes parameters for take profit (TP) and stop loss (SL) levels, allowing for risk management. The user can specify the percentage for TP and SL, as well as the number of units to sell at each level.
Entries and Exits:
The script defines conditions for entering long and short positions based on the buy and sell signals. It also manages exits based on TP and SL levels.
Trendline Logic:
The script identifies the last two significant highs to draw a trendline, which can help visualize market structure.
TP/SL Plotting:
The script plots the TP and SL levels on the chart for visual reference.
Reset After Exit:
After a trade is closed, the script resets the relevant variables to prepare for the next trade.
Usage
To use this strategy:
Adjust the input parameters as needed for your trading preferences.
Add the strategy to a chart to visualize the signals and performance.
Considerations
As with any trading strategy, it's essential to backtest and validate the performance over historical data before using it in live trading.
Market conditions can change, and past performance is not indicative of future results. Always use risk management practices when trading.
Kernel Regression Envelope with SMI OscillatorThis script combines the predictive capabilities of the **Nadaraya-Watson estimator**, implemented by the esteemed jdehorty (credit to him for his excellent work on the `KernelFunctions` library and the original Nadaraya-Watson Envelope indicator), with the confirmation strength of the **Stochastic Momentum Index (SMI)** to create a dynamic trend reversal strategy. The core idea is to identify potential overbought and oversold conditions using the Nadaraya-Watson Envelope and then confirm these signals with the SMI before entering a trade.
**Understanding the Nadaraya-Watson Envelope:**
The Nadaraya-Watson estimator is a non-parametric regression technique that essentially calculates a weighted average of past price data to estimate the current underlying trend. Unlike simple moving averages that give equal weight to all past data within a defined period, the Nadaraya-Watson estimator uses a **kernel function** (in this case, the Rational Quadratic Kernel) to assign weights. The key parameters influencing this estimation are:
* **Lookback Window (h):** This determines how many historical bars are considered for the estimation. A larger window results in a smoother estimation, while a smaller window makes it more reactive to recent price changes.
* **Relative Weighting (alpha):** This parameter controls the influence of different time frames in the estimation. Lower values emphasize longer-term price action, while higher values make the estimator more sensitive to shorter-term movements.
* **Start Regression at Bar (x\_0):** This allows you to exclude the potentially volatile initial bars of a chart from the calculation, leading to a more stable estimation.
The script calculates the Nadaraya-Watson estimation for the closing price (`yhat_close`), as well as the highs (`yhat_high`) and lows (`yhat_low`). The `yhat_close` is then used as the central trend line.
**Dynamic Envelope Bands with ATR:**
To identify potential entry and exit points around the Nadaraya-Watson estimation, the script uses **Average True Range (ATR)** to create dynamic envelope bands. ATR measures the volatility of the price. By multiplying the ATR by different factors (`nearFactor` and `farFactor`), we create multiple bands:
* **Near Bands:** These are closer to the Nadaraya-Watson estimation and are intended to identify potential immediate overbought or oversold zones.
* **Far Bands:** These are further away and can act as potential take-profit or stop-loss levels, representing more extreme price extensions.
The script calculates both near and far upper and lower bands, as well as an average between the near and far bands. This provides a nuanced view of potential support and resistance levels around the estimated trend.
**Confirming Reversals with the Stochastic Momentum Index (SMI):**
While the Nadaraya-Watson Envelope identifies potential overextended conditions, the **Stochastic Momentum Index (SMI)** is used to confirm a potential trend reversal. The SMI, unlike a traditional stochastic oscillator, oscillates around a zero line. It measures the location of the current closing price relative to the median of the high/low range over a specified period.
The script calculates the SMI on a **higher timeframe** (defined by the "Timeframe" input) to gain a broader perspective on the market momentum. This helps to filter out potential whipsaws and false signals that might occur on the current chart's timeframe. The SMI calculation involves:
* **%K Length:** The lookback period for calculating the highest high and lowest low.
* **%D Length:** The period for smoothing the relative range.
* **EMA Length:** The period for smoothing the SMI itself.
The script uses a double EMA for smoothing within the SMI calculation for added smoothness.
**How the Indicators Work Together in the Strategy:**
The strategy enters a long position when:
1. The closing price crosses below the **near lower band** of the Nadaraya-Watson Envelope, suggesting a potential oversold condition.
2. The SMI crosses above its EMA, indicating positive momentum.
3. The SMI value is below -50, further supporting the oversold idea on the higher timeframe.
Conversely, the strategy enters a short position when:
1. The closing price crosses above the **near upper band** of the Nadaraya-Watson Envelope, suggesting a potential overbought condition.
2. The SMI crosses below its EMA, indicating negative momentum.
3. The SMI value is above 50, further supporting the overbought idea on the higher timeframe.
Trades are closed when the price crosses the **far band** in the opposite direction of the trade. A stop-loss is also implemented based on a fixed value.
**In essence:** The Nadaraya-Watson Envelope identifies areas where the price might be deviating significantly from its estimated trend. The SMI, calculated on a higher timeframe, then acts as a confirmation signal, suggesting that the momentum is shifting in the direction of a potential reversal. The ATR-based bands provide dynamic entry and exit points based on the current volatility.
**How to Use the Script:**
1. **Apply the script to your chart.**
2. **Adjust the "Kernel Settings":**
* **Lookback Window (h):** Experiment with different values to find the smoothness that best suits the asset and timeframe you are trading. Lower values make the envelope more reactive, while higher values make it smoother.
* **Relative Weighting (alpha):** Adjust to control the influence of different timeframes on the Nadaraya-Watson estimation.
* **Start Regression at Bar (x\_0):** Increase this value if you want to exclude the initial, potentially volatile, bars from the calculation.
* **Stoploss:** Set your desired stop-loss value.
3. **Adjust the "SMI" settings:**
* **%K Length, %D Length, EMA Length:** These parameters control the sensitivity and smoothness of the SMI. Experiment to find settings that work well for your trading style.
* **Timeframe:** Select the higher timeframe you want to use for SMI confirmation.
4. **Adjust the "ATR Length" and "Near/Far ATR Factor":** These settings control the width and sensitivity of the envelope bands. Smaller ATR lengths make the bands more reactive to recent volatility.
5. **Customize the "Color Settings"** to your preference.
6. **Observe the plots:**
* The **Nadaraya-Watson Estimation (yhat)** line represents the estimated underlying trend.
* The **near and far upper and lower bands** visualize potential overbought and oversold zones based on the ATR.
* The **fill areas** highlight the regions between the near and far bands.
7. **Look for entry signals:** A long entry is considered when the price touches or crosses below the lower near band and the SMI confirms upward momentum. A short entry is considered when the price touches or crosses above the upper near band and the SMI confirms downward momentum.
8. **Manage your trades:** The script provides exit signals when the price crosses the far band. The fixed stop-loss will also close trades if the price moves against your position.
**Justification for Combining Nadaraya-Watson Envelope and SMI:**
The combination of the Nadaraya-Watson Envelope and the SMI provides a more robust approach to identifying potential trend reversals compared to using either indicator in isolation. The Nadaraya-Watson Envelope excels at identifying potential areas where the price is overextended relative to its recent history. However, relying solely on the envelope can lead to false signals, especially in choppy or volatile markets. By incorporating the SMI as a confirmation tool, we add a momentum filter that helps to validate the potential reversals signaled by the envelope. The higher timeframe SMI further helps to filter out noise and focus on more significant shifts in momentum. The ATR-based bands add a dynamic element to the entry and exit points, adapting to the current market volatility. This mashup aims to leverage the strengths of each indicator to create a more reliable trading strategy.
Table to filter trades per dayThis script contains a block of code that allows users to filter the total number of trades, loss trades, win trades and win rate per day in a table. This makes it easier to compare which days were profitable and which were not.
Be aware that this script can only be used in strategy scripts. To use the script, open it and copy every line from "START" to "STOP". Then, paste these lines at the very bottom of the strategy script that you want to attach it to.
The user has the ability to adjust the position of the table and customize the size of the text displayed.
If the user sets "Check when the trade:" to "Opened", the script will monitor when the trade opens and add it to the table once it has been closed. If "Check when the trade:" is set to "Closed", the script will track when the trade is closed and add it to the table once it has been closed.
It is recommended to run the script on the "Exchange" setting for more accurate results, even though a "Set the timezone" option is available. This will prevent discrepancies caused by daylight saving time changes.
Please note that the code will only work properly if you choose a daily timeframe or lower.
JS-TechTrading: VWAP Momentum_Pullback StrategyGeneral Description and Unique Features of this Script
Introducing the VWAP Momentum-Pullback Strategy (long-only) that offers several unique features:
1. Our script/strategy utilizes Mark Minervini's Trend-Template as a qualifier for identifying stocks and other financial securities in confirmed uptrends.
NOTE: In this basic version of the script, the Trend-Template has to be used as a separate indicator on TradingView (Public Trend-Template indicators are available on TradingView – community scripts). It is recommended to only execute buy signals in case the stock or financial security is in a stage 2 uptrend, which means that the criteria of the trend-template are fulfilled.
2. Our strategy is based on the supply/demand balance in the market, making it timeless and effective across all timeframes. Whether you are day trading using 1- or 5-min charts or swing-trading using daily charts, this strategy can be applied and works very well.
3. We have also integrated technical indicators such as the RSI and the MA / VWAP crossover into this strategy to identify low-risk pullback entries in the context of confirmed uptrends. By doing so, the risk profile of this strategy and drawdowns are being reduced to an absolute minimum.
Minervini’s Trend-Template and the ‘Stage-Analysis’ of the Markets
This strategy is a so-called 'long-only' strategy. This means that we only take long positions, short positions are not considered.
The best market environment for such strategies are periods of stable upward trends in the so-called stage 2 - uptrend.
In stable upward trends, we increase our market exposure and risk.
In sideways markets and downward trends or bear markets, we reduce our exposure very quickly or go 100% to cash and wait for the markets to recover and improve. This allows us to avoid major losses and drawdowns.
This simple rule gives us a significant advantage over most undisciplined traders and amateurs!
'The Trend is your Friend'. This is a very old but true quote.
What's behind it???
• 98% of stocks made their biggest gains in a Phase 2 upward trend.
• If a stock is in a stable uptrend, this is evidence that larger institutions are buying the stock sustainably.
• By focusing on stocks that are in a stable uptrend, the chances of profit are significantly increased.
• In a stable uptrend, investors know exactly what to expect from further price developments. This makes it possible to locate low-risk entry points.
The goal is not to buy at the lowest price – the goal is to buy at the right price!
Each stock goes through the same maturity cycle – it starts at stage 1 and ends at stage 4
Stage 1 – Neglect Phase – Consolidation
Stage 2 – Progressive Phase – Accumulation
Stage 3 – Topping Phase – Distribution
Stage 4 – Downtrend – Capitulation
This strategy focuses on identifying stocks in confirmed stage 2 uptrends. This in itself gives us an advantage over long-term investors and less professional traders.
By focusing on stocks in a stage 2 uptrend, we avoid losses in downtrends (stage 4) or less profitable consolidation phases (stages 1 and 3). We are fully invested and put our money to work for us, and we are fully invested when stocks are in their stage 2 uptrends.
But how can we use technical chart analysis to find stocks that are in a stable stage 2 uptrend?
Mark Minervini has developed the so-called 'trend template' for this purpose. This is an essential part of our JS-TechTrading pullback strategy. For our watchlists, only those individual values that meet the tough requirements of Minervini's trend template are eligible.
The Trend Template
• 200d MA increasing over a period of at least 1 month, better 4-5 months or longer
• 150d MA above 200d MA
• 50d MA above 150d MA and 200d MA
• Course above 50d MA, 150d MA and 200d MA
• Ideally, the 50d MA is increasing over at least 1 month
• Price at least 25% above the 52w low
• Price within 25% of 52w high
• High relative strength according to IBD.
NOTE: In this basic version of the script, the Trend-Template has to be used as a separate indicator on TradingView (Public Trend-Template indicators are available in TradingView – community scripts). It is recommended to only execute buy signals in case the stock or financial security is in a stage 2 uptrend, which means that the criteria of the trend-template are fulfilled.
This strategy can be applied to all timeframes from 5 min to daily.
The VWAP Momentum-Pullback Strateg y
For the JS-TechTrading VWAP Momentum-Pullback Strategy, only stocks and other financial instruments that meet the selected criteria of Mark Minervini's trend template are recommended for algorithmic trading with this startegy.
A further prerequisite for generating a buy signals is that the individual value is in a short-term oversold state (RSI).
When the selling pressure is over and the continuation of the uptrend can be confirmed by the MA / VWAP crossover after reaching a price low, a buy signal is issued by this strategy.
Stop-loss limits and profit targets can be set variably.
Relative Strength Index (RSI)
The Relative Strength Index (RSI) is a technical indicator developed by Welles Wilder in 1978. The RSI is used to perform a market value analysis and identify the strength of a trend as well as overbought and oversold conditions. The indicator is calculated on a scale from 0 to 100 and shows how much an asset has risen or fallen relative to its own price in recent periods.
The RSI is calculated as the ratio of average profits to average losses over a certain period of time. A high value of the RSI indicates an overbought situation, while a low value indicates an oversold situation. Typically, a value > 70 is considered an overbought threshold and a value < 30 is considered an oversold threshold. A value above 70 signals that a single value may be overvalued and a decrease in price is likely , while a value below 30 signals that a single value may be undervalued and an increase in price is likely.
For example, let's say you're watching a stock XYZ. After a prolonged falling movement, the RSI value of this stock has fallen to 26. This means that the stock is oversold and that it is time for a potential recovery. Therefore, a trader might decide to buy this stock in the hope that it will rise again soon.
The MA / VWAP Crossover Trading Strategy
This strategy combines two popular technical indicators: the Moving Average (MA) and the Volume Weighted Average Price (VWAP). The MA VWAP crossover strategy is used to identify potential trend reversals and entry/exit points in the market.
The VWAP is calculated by taking the average price of an asset for a given period, weighted by the volume traded at each price level. The MA, on the other hand, is calculated by taking the average price of an asset over a specified number of periods. When the MA crosses above the VWAP, it suggests that buying pressure is increasing, and it may be a good time to enter a long position. When the MA crosses below the VWAP, it suggests that selling pressure is increasing, and it may be a good time to exit a long position or enter a short position.
Traders typically use the MA VWAP crossover strategy in conjunction with other technical indicators and fundamental analysis to make more informed trading decisions. As with any trading strategy, it is important to carefully consider the risks and potential rewards before making any trades.
This strategy is applicable to all timeframes and the relevant parameters for the underlying indicators (RSI and MA/VWAP) can be adjusted and optimized as needed.
Backtesting
Backtesting gives outstanding results on all timeframes and drawdowns can be reduced to a minimum level. In this example, the hourly chart for MCFT has been used.
Settings for backtesting are:
- Period from April 2020 until April 2021 (1 yr)
- Starting capital 100k USD
- Position size = 25% of equity
- 0.01% commission = USD 2.50.- per Trade
- Slippage = 2 ticks
Other comments
• This strategy has been designed to identify the most promising, highest probability entries and trades for each stock or other financial security.
• The RSI qualifier is highly selective and filters out the most promising swing-trading entries. As a result, you will normally only find a low number of trades for each stock or other financial security per year in case you apply this strategy for the daily charts. Shorter timeframes will result in a higher number of trades / year.
• As a result, traders need to apply this strategy for a full watchlist rather than just one financial security.
Ruckard TradingLatinoThis strategy tries to mimic TradingLatino strategy.
The current implementation is beta.
Si hablas castellano o espanyol por favor consulta MENSAJE EN CASTELLANO más abajo.
It's aimed at BTCUSDT pair and 4h timeframe.
STRATEGY DEFAULT SETTINGS EXPLANATION
max_bars_back=5000 : This is a random number of bars so that the strategy test lasts for one or two years
calc_on_order_fills=false : To wait for the 4h closing is too much. Try to check if it's worth entering a position after closing one. I finally decided not to recheck if it's worth entering after an order is closed. So it is false.
calc_on_every_tick=false
pyramiding=0 : We only want one entry allowed in the same direction. And we don't want the order to scale by error.
initial_capital=1000 : These are 1000 USDT. By using 1% maximum loss per trade and 7% as a default stop loss by using 1000 USDT at 12000 USDT per BTC price you would entry with around 142 USDT which are converted into: 0.010 BTC . The maximum number of decimal for contracts on this BTCUSDT market is 3 decimals. E.g. the minimum might be: 0.001 BTC . So, this minimal 1000 amount ensures us not to entry with less than 0.001 entries which might have happened when using 100 USDT as an initial capital.
slippage=1 : Binance BTCUSDT mintick is: 0.01. Binance slippage: 0.1 % (Let's assume). TV has an integer slippage. It does not have a percentage based slippage. If we assume a 1000 initial capital, the recommended equity is 142 which at 11996 USDT per BTC price means: 0.011 BTC. The 0.1% slippage of: 0.011 BTC would be: 0.000011 . This is way smaller than the mintick. So our slippage is going to be 1. E.g. 1 (slippage) * 0.01 (mintick)
commission_type=strategy.commission.percent and commission_value=0.1 : According to: binance . com / en / fee / schedule in VIP 0 level both maker and taker fees are: 0.1 %.
BACKGROUND
Jaime Merino is a well known Youtuber focused on crypto trading
His channel TradingLatino
features monday to friday videos where he explains his strategy.
JAIME MERINO STANCE ON BOTS
Jaime Merino stance on bots (taken from memory out of a 2020 June video from him):
'~
You know. They can program you a bot and it might work.
But, there are some special situations that the bot would not be able to handle.
And, I, as a human, I would handle it. And the bot wouldn't do it.
~'
My long term target with this strategy script is add as many
special situations as I can to the script
so that it can match Jaime Merino behaviour even in non normal circumstances.
My alternate target is learn Pine script
and enjoy programming with it.
WARNING
This script might be bigger than other TradingView scripts.
However, please, do not be confused because the current status is beta.
This script has not been tested with real money.
This is NOT an official strategy from Jaime Merino.
This is NOT an official strategy from TradingLatino . net .
HOW IT WORKS
It basically uses ADX slope and LazyBear's Squeeze Momentum Indicator
to make its buy and sell decisions.
Fast paced EMA being bigger than slow paced EMA
(on higher timeframe) advices going long.
Fast paced EMA being smaller than slow paced EMA
(on higher timeframe) advices going short.
It finally add many substrats that TradingLatino uses.
SETTINGS
__ SETTINGS - Basics
____ SETTINGS - Basics - ADX
(ADX) Smoothing {14}
(ADX) DI Length {14}
(ADX) key level {23}
____ SETTINGS - Basics - LazyBear Squeeze Momentum
(SQZMOM) BB Length {20}
(SQZMOM) BB MultFactor {2.0}
(SQZMOM) KC Length {20}
(SQZMOM) KC MultFactor {1.5}
(SQZMOM) Use TrueRange (KC) {True}
____ SETTINGS - Basics - EMAs
(EMAS) EMA10 - Length {10}
(EMAS) EMA10 - Source {close}
(EMAS) EMA55 - Length {55}
(EMAS) EMA55 - Source {close}
____ SETTINGS - Volume Profile
Lowest and highest VPoC from last three days
is used to know if an entry has a support
VPVR of last 100 4h bars
is also taken into account
(VP) Use number of bars (not VP timeframe): Uses 'Number of bars {100}' setting instead of 'Volume Profile timeframe' setting for calculating session VPoC
(VP) Show tick difference from current price {False}: BETA . Might be useful for actions some day.
(VP) Number of bars {100}: If 'Use number of bars (not VP timeframe)' is turned on this setting is used to calculate session VPoC.
(VP) Volume Profile timeframe {1 day}: If 'Use number of bars (not VP timeframe)' is turned off this setting is used to calculate session VPoC.
(VP) Row width multiplier {0.6}: Adjust how the extra Volume Profile bars are shown in the chart.
(VP) Resistances prices number of decimal digits : Round Volume Profile bars label numbers so that they don't have so many decimals.
(VP) Number of bars for bottom VPOC {18}: 18 bars equals 3 days in suggested timeframe of 4 hours. It's used to calculate lowest session VPoC from previous three days. It's also used as a top VPOC for sells.
(VP) Ignore VPOC bottom advice on long {False}: If turned on it ignores bottom VPOC (or top VPOC on sells) when evaluating if a buy entry is worth it.
(VP) Number of bars for VPVR VPOC {100}: Number of bars to calculate the VPVR VPoC. We use 100 as Jaime once used. When the price bounces back to the EMA55 it might just bounce to this VPVR VPoC if its price it's lower than the EMA55 (Sells have inverse algorithm).
____ SETTINGS - ADX Slope
ADX Slope
help us to understand if ADX
has a positive slope, negative slope
or it is rather still.
(ADXSLOPE) ADX cut {23}: If ADX value is greater than this cut (23) then ADX has strength
(ADXSLOPE) ADX minimum steepness entry {45}: ADX slope needs to be 45 degrees to be considered as a positive one.
(ADXSLOPE) ADX minimum steepness exit {45}: ADX slope needs to be -45 degrees to be considered as a negative one.
(ADXSLOPE) ADX steepness periods {3}: In order to avoid false detection the slope is calculated along 3 periods.
____ SETTINGS - Next to EMA55
(NEXTEMA55) EMA10 to EMA55 bounce back percentage {80}: EMA10 might bounce back to EMA55 or maybe to 80% of its complete way to EMA55
(NEXTEMA55) Next to EMA55 percentage {15}: How much next to the EMA55 you need to be to consider it's going to bounce back upwards again.
____ SETTINGS - Stop Loss and Take Profit
You can set a default stop loss or a default take profit.
(STOPTAKE) Stop Loss % {7.0}
(STOPTAKE) Take Profit % {2.0}
____ SETTINGS - Trailing Take Profit
You can customize the default trailing take profit values
(TRAILING) Trailing Take Profit (%) {1.0}: Trailing take profit offset in percentage
(TRAILING) Trailing Take Profit Trigger (%) {2.0}: When 2.0% of benefit is reached then activate the trailing take profit.
____ SETTINGS - MAIN TURN ON/OFF OPTIONS
(EMAS) Ignore advice based on emas {false}.
(EMAS) Ignore advice based on emas (On closing long signal) {False}: Ignore advice based on emas but only when deciding to close a buy entry.
(SQZMOM) Ignore advice based on SQZMOM {false}: Ignores advice based on SQZMOM indicator.
(ADXSLOPE) Ignore advice based on ADX positive slope {false}
(ADXSLOPE) Ignore advice based on ADX cut (23) {true}
(STOPTAKE) Take Profit? {false}: Enables simple Take Profit.
(STOPTAKE) Stop Loss? {True}: Enables simple Stop Loss.
(TRAILING) Enable Trailing Take Profit (%) {True}: Enables Trailing Take Profit.
____ SETTINGS - Strategy mode
(STRAT) Type Strategy: 'Long and Short', 'Long Only' or 'Short Only'. Default: 'Long and Short'.
____ SETTINGS - Risk Management
(RISKM) Risk Management Type: 'Safe', 'Somewhat safe compound' or 'Unsafe compound'. ' Safe ': Calculations are always done with the initial capital (1000) in mind. The maximum losses per trade/day/week/month are taken into account. ' Somewhat safe compound ': Calculations are done with initial capital (1000) or a higher capital if it increases. The maximum losses per trade/day/week/month are taken into account. ' Unsafe compound ': In each order all the current capital is gambled and only the default stop loss per order is taken into account. That means that the maximum losses per trade/day/week/month are not taken into account. Default : 'Somewhat safe compound'.
(RISKM) Maximum loss per trade % {1.0}.
(RISKM) Maximum loss per day % {6.0}.
(RISKM) Maximum loss per week % {8.0}.
(RISKM) Maximum loss per month % {10.0}.
____ SETTINGS - Decimals
(DECIMAL) Maximum number of decimal for contracts {3}: How small (3 decimals means 0.001) an entry position might be in your exchange.
EXTRA 1 - PRICE IS IN RANGE indicator
(PRANGE) Print price is in range {False}: Enable a bottom label that indicates if the price is in range or not.
(PRANGE) Price range periods {5}: How many previous periods are used to calculate the medians
(PRANGE) Price range maximum desviation (%) {0.6} ( > 0 ): Maximum positive desviation for range detection
(PRANGE) Price range minimum desviation (%) {0.6} ( > 0 ): Mininum negative desviation for range detection
EXTRA 2 - SQUEEZE MOMENTUM Desviation indicator
(SQZDIVER) Show degrees {False}: Show degrees of each Squeeze Momentum Divergence lines to the x-axis.
(SQZDIVER) Show desviation labels {False}: Whether to show or not desviation labels for the Squeeze Momentum Divergences.
(SQZDIVER) Show desviation lines {False}: Whether to show or not desviation lines for the Squeeze Momentum Divergences.
EXTRA 3 - VOLUME PROFILE indicator
WARNING: This indicator works not on current bar but on previous bar. So in the worst case it might be VP from 4 hours ago. Don't worry, inside the strategy calculus the correct values are used. It's just that I cannot show the most recent one in the chart.
(VP) Print recent profile {False}: Show Volume Profile indicator
(VP) Avoid label price overlaps {False}: Avoid label prices to overlap on the chart.
EXTRA 4 - ZIGNALY SUPPORT
(ZIG) Zignaly Alert Type {Email}: 'Email', 'Webhook'. ' Email ': Prepare alert_message variable content to be compatible with zignaly expected email content format. ' Webhook ': Prepare alert_message variable content to be compatible with zignaly expected json content format.
EXTRA 5 - DEBUG
(DEBUG) Enable debug on order comments {False}: If set to true it prepares the order message to match the alert_message variable. It makes easier to debug what would have been sent by email or webhook on each of the times an order is triggered.
HOW TO USE THIS STRATEGY
BOT MODE: This is the default setting.
PROPER VOLUME PROFILE VIEWING: Click on this strategy settings. Properties tab. Make sure Recalculate 'each time the order was run' is turned off.
NEWBIE USER: (Check PROPER VOLUME PROFILE VIEWING above!) You might want to turn on the 'Print recent profile {False}' setting. Alternatively you can use my alternate realtime study: 'Resistances and supports based on simplified Volume Profile' but, be aware, it might consume one indicator.
ADVANCED USER 1: Turn on the 'Print price is in range {False}' setting and help us to debug this subindicator. Also help us to figure out how to include this value in the strategy.
ADVANCED USER 2: Turn on the all the (SQZDIVER) settings and help us to figure out how to include this value in the strategy.
ADVANCED USER 3: (Check PROPER VOLUME PROFILE VIEWING above!) Turn on the 'Print recent profile {False}' setting and report any problem with it.
JAIME MERINO: Just use the indicator as it comes by default. It should only show BUY signals, SELL signals and their associated closing signals. From time to time you might want to check 'ADVANCED USER 2' instructions to check that there's actually a divergence. Check also 'ADVANCED USER 1' instructions for your amusement.
EXTRA ADVICE
It's advised that you use this strategy in addition to these two other indicators:
* Squeeze Momentum Indicator
* ADX
so that your chart matches as close as possible to TradingLatino chart.
ZIGNALY INTEGRATION
This strategy supports Zignaly email integration by default. It also supports Zignaly Webhook integration.
ZIGNALY INTEGRATION - Email integration example
What you would write in your alert message:
||{{strategy.order.alert_message}}||key=MYSECRETKEY||
ZIGNALY INTEGRATION - Webhook integration example
What you would write in your alert message:
{ {{strategy.order.alert_message}} , "key" : "MYSECRETKEY" }
CREDITS
I have reused and adapted some code from
'Directional Movement Index + ADX & Keylevel Support' study
which it's from TradingView console user.
I have reused and adapted some code from
'3ema' study
which it's from TradingView hunganhnguyen1193 user.
I have reused and adapted some code from
'Squeeze Momentum Indicator ' study
which it's from TradingView LazyBear user.
I have reused and adapted some code from
'Strategy Tester EMA-SMA-RSI-MACD' study
which it's from TradingView fikira user.
I have reused and adapted some code from
'Support Resistance MTF' study
which it's from TradingView LonesomeTheBlue user.
I have reused and adapted some code from
'TF Segmented Linear Regression' study
which it's from TradingView alexgrover user.
I have reused and adapted some code from
"Poor man's volume profile" study
which it's from TradingView IldarAkhmetgaleev user.
FEEDBACK
Please check the strategy source code for more detailed information
where, among others, I explain all of the substrats
and if they are implemented or not.
Q1. Did I understand wrong any of the Jaime substrats (which I have implemented)?
Q2. The strategy yields quite profit when we should long (EMA10 from 1d timeframe is higher than EMA55 from 1d timeframe.
Why the strategy yields much less profit when we should short (EMA10 from 1d timeframe is lower than EMA55 from 1d timeframe)?
Any idea if you need to do something else rather than just reverse what Jaime does when longing?
FREQUENTLY ASKED QUESTIONS
FAQ1. Why are you giving this strategy for free?
TradingLatino and his fellow enthusiasts taught me this strategy. Now I'm giving back to them.
FAQ2. Seriously! Why are you giving this strategy for free?
I'm confident his strategy might be improved a lot. By keeping it to myself I would avoid other people contributions to improve it.
Now that everyone can contribute this is a win-win.
FAQ3. How can I connect this strategy to my Exchange account?
It seems that you can attach alerts to strategies.
You might want to combine it with a paying account which enable Webhook URLs to work.
I don't know how all of this works right now so I cannot give you advice on it.
You will have to do your own research on this subject. But, be careful. Automating trades, if not done properly,
might end on you automating losses.
FAQ4. I have just found that this strategy by default gives more than 3.97% of 'maximum series of losses'. That's unacceptable according to my risk management policy.
You might want to reduce default stop loss setting from 7% to something like 5% till you are ok with the 'maximum series of losses'.
FAQ5. Where can I learn more about your work on this strategy?
Check the source code. You might find unused strategies. Either because there's not a substantial increases on earnings. Or maybe because they have not been implemented yet.
FAQ6. How much leverage is applied in this strategy?
No leverage.
FAQ7. Any difference with original Jaime Merino strategy?
Most of the times Jaime defines an stop loss at the price entry. That's not the case here. The default stop loss is 7% (but, don't be confused it only means losing 1% of your investment thanks to risk management). There's also a trailing take profit that triggers at 2% profit with a 1% trailing.
FAQ8. Why this strategy return is so small?
The strategy should be improved a lot. And, well, backtesting in this platform is not guaranteed to return theoric results comparable to real-life returns. That's why I'm personally forward testing this strategy to verify it.
MENSAJE EN CASTELLANO
En primer lugar se agradece feedback para mejorar la estrategia.
Si eres un usuario avanzado y quieres colaborar en mejorar el script no dudes en comentar abajo.
Ten en cuenta que aunque toda esta descripción tenga que estar en inglés no es obligatorio que el comentario esté en inglés.
CHISTE - CASTELLANO
¡Pero Jaime!
¡400.000!
¡Tu da mun!
Zulu Kilo 4HR Strategy - LIVE BETA TESTING***MANDATORY READING SO YOU DONT LOSE MONEY ON A POSITION***
I will be posting a video soon on my TV channel to explain exactly what you're about to read below so you can visually understand the process.
PLEASE NOTE THE FOLLOWING IMPORTANT CONDITIONS:
-The script DOES repaint since it looks for specific EMA conditions to meet position thresholds so there are some implications that MUST be observed BEFORE entering into a position.
-This script MUST be used in conjunction with at minimum 3 other indicators before entering the position it calls for you to enter, OR exiting a currently held position. Details on the bottom.
-The 3 recommended indicators that MUST be used in conjunction to verify position entry are: MACD, RSI and STOCH indicators.
-Do NOT change any of the settings in the script as it will not indicate the correct divergence/convergence for when to look for opening a position.
The three indicators I recommend in conjunction are all FREE indicators available openly on Tradingview Indicators:
(PLEASE NOTE THAT THE BELOW INDICATORS ARE NOT MINE, I GIVE ALL CREDIT TO THEIR ORIGINAL PUBLISHERS. THEY ARE *NOT* PART OF THIS SCRIPT.)
1) "Smooth Chande Trend Score w/ Signal line by CryptoRythms" (This is a volume weighed MACD indicator that shows convergence and divergence)
2) "STOCH_VX3" (This is a really smart and useful Stochastic indicator)
3) "CM_RSI Plus EMA" (This is an RSI trend indicator with an EMA reference line for added clarity of trend direction)
How to correctly use the Zulu Kilo indicator:
1) The time frame it is encoded for is the 4 hour time frame and that is what MUST be used to correctly identify a potential position entry/exit.
2) Getting into an initial position (when NOT currently in any position):
TWO OPTIONS:
A) ENTER INTO AN EXISTING SIGNAL
-IF indicator is showing an existing SHORT entry, the 3 other indicators must ALL be aligned crossing DOWN or trending downwards.
-IF indicator is showing a LONG entry, the 3 other indicators must ALL be aligned crossing UP or trending upwards.
B) ENTER INTO NEXT SIGNAL GENERATED
-Wait for indicator to generate a Short/Long position on a candle, DO NOT enter into that position until ALL 3 bottom indicators converge to pointing up (for a Long entry), or pointing down (for a Short entry).
-VERY IMPORTANT: It is NOT enough for the 3 bottom indicators to cross into a buy/sell until that 4 hr candle has closed with all 3 indicators trending up (for long) or trending down (for Short).
-I REPEAT **DO NOT** get into the indicated long/short position until the 4 hr candle has closed on the bottom three indicators as crossing up or down. There will be numerous times where on current 4hr candle, the 3 bottom indicators will cross into a buy/sell signal. That 4hr candle's price action CAN change until the current 4hr candle closes. IT IS NOT ENOUGH to get into any position indicated by my indicator unless the current 4hr candle where the bottom 3 indicators converge/cross up or down CLOSES the candle.
3) Exiting a position (Taking profit and entering new position):
-If you are in an existing position, please note that fake Long/Sell signals will be generated by the script. So when do you take profit from current position and enter the next position?
Scenario:
You are currently in a LONG position. Price goes up, there is price consolidation happening and a SHORT signal is generated. DO NOT immediately take profit and close your existing Long position yet. Unless, ALL 3 bottom indicators converge and cross downwards AFTER the current 4hr candle is confirmed, you will stay in your long position. You will ONLY exit and take profit / Stop Loss from your LONG position and go into a SHORT is when all 3 bottom indicators cross downwards on a 4hr candle close and confirm pointing/crossing down.
The exact inverse if you're in a SHORT position... If a LONG pops up while in a SHORT position, do NOT exit the SHORT immediately. Only exit the short, take profit, and then enter a long if all three indicators close on a 4hr candle where the 3 indicators are crossing up. If that does not happen, the long signal will disappear eventually, and you continue in the short position until another LONG signal pops up, repeat the same process.
***VERY IMPORTANT***
I cannot stress this enough!
I need all of the strategy followers to understand that the ONLY way you would ever enter into a signaled position is when a 4hr candle closes where the bottom 3 indicators are ALL crossing/pointing up (for a LONG) or ALL crossing/pointing down (for a SHORT).
SHEAVY S StrategyThe new version is completely revamped where you no longer need to follow a said system the system is now scripted into SHEAVY XV
the strategy using all the previous variables in order to go long or short .
i removed the RSI Candles as well as a few other things to clear up the screen and settings section so its not overwhelming
Make sure you adjust your trailing stop accordingly using my Hidden ATR script i will have open access too, just follow the math displayed in the left hand corner to get appropriate stop placement
If you cannot link your broker then this is how you will use SHEAVY XV
after you get a BEAR TREND or BULL TREND signal you only want to SHORT or LONG
the signals are displayed at the top for your entries going SHORT and LONG
and the conditional closes will be displayed at the bottom in the respected colors
alerts are set so you are able to appropriate send to your mobile device or email
to find out how to attain access to this script please visit the website below
www.cryptocurrentlyvip.com
MAKE SURE TO PRACTICE APPROPRIATE RISK AND MONEY MANAGEMENT
DISCLAIMER
***THIS SCRIPT WAS INTENDED FOR EXPERIMENTAL PURPOSES ONLY***
AND THE CREATOR OF THIS STRATEGY HELD WITHIN THE SCRIPT WILL NOT BE RESPONSIBLE FOR ANY LOSSES OR WINS ACCRUED.
PGT: Pretty Good TraderLittle bit of background :
I am a broke college student on the East coast, and I have developed a hobby for creating trading algorithms. This is one of the better scripts that I have written. Unfortunately, as a broke college student, I don't have the disposable income to actually trade using real money. If you are interested in donating to my broke college student fund, please message me!
On to the script :
This script was written in pine version 3 and does not calculate_on_tick . This means that it does not repaint . The numbers you see are, to the best of my knowledge, accurate.
Because most scripts tend to overfit data to generate the "best looking data", I decided to create an algorithm that would be generalizable as possible to a diverse number of trading pairs. This script works on both crytpo markets(works best on smaller time frame) and stock markets(works best on larger time frames).
I am publishing this script to both gauge and generate interest in a Python trading bot which I have written which automatically buys and sells on different exchanges by using the predictive signals of this indicator.
JMA Quantum Edge: Adaptive Precision Trading System JMA Quantum Edge: Adaptive Precision Trading System - Enhanced Visuals & Risk Management
Get ready to experience a groundbreaking trading strategy that adapts in real-time to market conditions! This powerful, open-source script combines advanced technical analysis with state-of-the-art risk management tools, designed to give you the edge you need in today's dynamic markets.
What It Does:
Adaptive JMA Indicator:
Utilizes a custom Jurik Moving Average (JMA) that adjusts its sensitivity based on market volatility, ensuring you get precise signals even in the most fluctuating environments.
Dynamic Risk Management:
Features built-in support for partial exits (scaling out) to secure profits, along with an optional Kelly Criterion-based position sizing that tailors your exposure based on historical performance metrics.
Robust Error Handling:
Incorporates market condition filters—like minimum volume and maximum allowed gap percentage—to ensure trades are only executed under favorable conditions.
Vivid Visual Enhancements:
Enjoy an animated background that reflects market momentum, dynamic pivot markers, and clearly drawn trend channels. Plus, interactive tables provide real-time performance analytics and detailed error metrics.
Fully Customizable:
With a comprehensive set of inputs, you can easily tailor the strategy to your personal trading style and market preferences. Adjust everything from JMA parameters to refresh intervals for tables and labels!
How to Use It:
Add the Script:
Copy and paste the script into the Pine Script Editor on TradingView and click “Add to Chart.”
Configure Your Settings:
Customize your risk management (capital, commission, position sizing, partial exits, etc.) and tweak the JMA settings to match your preferred trading style. Use the extensive input panel to adjust visuals, alerts, and more.
Backtest & Optimize:
Run the strategy in the Strategy Tester to analyze its historical performance. Monitor real-time analytics and error metrics via the interactive tables, and fine-tune your parameters for optimal performance.
Go Live with Confidence:
Once you're satisfied with the backtest results, use the generated signals for live trading, and let the system help you stay ahead in fast-paced markets!
How to use the imputs:
This cutting-edge strategy is designed to adapt to changing market conditions and offers you complete control over your trading parameters. Here’s a breakdown of what each group of inputs does and how you should use them:
Risk Management & Trade Settings
Recalculate on Every Tick:
What it does: When enabled, the strategy recalculates on every price update.
Recommendation: Leave it true for fast charts.
Initial Capital:
What it does: Sets your starting capital for backtesting, which influences position sizing and performance metrics.
Recommendation: Start with $10,000 (or adjust according to your trading capital).
Commission (%):
What it does: Simulates the cost per trade.
Recommendation: Use a realistic rate (e.g., 0.04%).
Position Size & Quantity Type:
What they do: Define how large each trade will be. Choose between a fixed unit amount or a percentage of equity.
Recommendation: For beginners, the default fixed value is a good start. Experiment later with percentage-based sizing if needed.
Order Comment:
What it does: Adds a label to your orders for easier tracking.
Allow Reverse Orders:
What it does: If disabled, the strategy will close opposing positions before entering a new trade, reducing conflicts.
Enable Dynamic Position Sizing:
What it does: Adjusts trade size based on current volatility.
Recommendation: Beginners may start with this disabled until they understand basic sizing.
Partial Exit Inputs:
What they do:
Enable Partial Exits: When turned on, you can scale out of your position to lock in profits.
Partial Exit Profit (%): The profit percentage that triggers a partial exit.
Partial Exit Percentage: The percentage of your current position to exit. Recommendation: Use defaults (e.g., 5% profit, 50% exit) to secure profits gradually.
Kelly Criterion Option:
What it does: When enabled, adjusts your position sizing using historical performance (win rate and profit factor).
Recommendation: Beginners might leave this disabled until comfortable with backtest performance metrics.
Market Condition Filters:
What they do:
Minimum Volume: Ensures trades occur only when there’s sufficient market activity.
Maximum Gap (%): Prevents trading if there’s an unusually large gap between the previous close and current open. Recommendation: Defaults work well for most markets. If trades seem erratic, consider tightening these limits.
JMA Settings
Price Source:
What it does: The input series for the JMA calculation, typically set to the closing price.
JMA Length:
What it does: Controls the smoothing period of the JMA. Lower values are more sensitive; higher values smooth out the noise. Recommendation: Start with 21.
JMA Phase & Power:
What they do: Adjust how responsive the JMA is. Phase controls timing; power adjusts the intensity. Recommendation: Default settings (63 phase and 3 power) are a balanced starting point.
Visual Settings & Style
Show JMA Line, Pivot Lines, and Pivot Labels:
What they do: Toggle visual elements on your chart for easier signal identification.
Pivot History Count:
What it does: Limits how many historical pivot markers are displayed.
Color Settings (Up/Down Neon Colors):
What they do: Set the visual cues for buy and sell signals.
Pivot Marker & Line Style:
What they do: Choose the style and thickness of your pivot markers and lines.
Show Stats Panel:
What it does: Displays real-time performance and error metrics.
Dynamic Background & Visual Enhancements
Animate Background:
What it does: Changes the background color based on market momentum.
Show Trend Channels & Volume Zones:
What they do: Draw trend channels and highlight areas of high volatility/volume.
Show Data-Rich Labels:
What it does: Displays key metrics like volume, error percentage, and momentum on the chart.
High Volatility Threshold:
What it does: Determines the multiplier for when the chart background should change due to high volatility.
Multi-Timeframe Settings
Higher Timeframe:
What it does: Uses a higher timeframe’s JMA for trend confirmation. Recommendation: Use Daily ('D') or Weekly ('W') for broader trend analysis.
Show HTF Trend Zone & Opacity:
What they do: Display a visual zone from the higher timeframe to help confirm trends.
6. Trailing Stop Settings
Trailing Stop ATR Factor & Offset Multiplier:
What they do: Calculate trailing stops based on the Average True Range (ATR), adjusting stop distances dynamically. Recommendation: Default settings are a good balance but can be fine-tuned based on asset volatility.
Alerts & Notifications
Alerts on Pivot Formation & JMA Crossover:
What they do: Notify you when key events occur.
Dynamic Power Threshold:
What it does: Sets the sensitivity for dynamic alerts.
8. Static Stop Loss / Take Profit
Static Stop Loss (%) & Take Profit (%):
What they do: Allow you to set fixed stop loss or take profit levels. Recommendation: Leave them at 0 to disable if you prefer dynamic risk management, or set them if you have strict risk/reward preferences.
Advanced Settings
ATR Length:
What it does: Determines the period for ATR calculation, impacting trailing stop sensitivity. Recommendation: Start with 14.
Optimization Feedback & Enhanced Error Analysis
Error Metric Length & Error Threshold (%):
What they do: Calculate error metrics (like average error, skewness, and kurtosis) to help you fine-tune the JMA. Recommendation: Use the defaults and adjust if the error metrics seem off during backtesting.
UI - User-Driven Tweaking & Table Customization
Parameter Tweaker Panel, Debug/Performance Table Settings:
What they do: Provide interactive tables that display real-time performance, error metrics, and allow you to monitor strategy parameters.
Refresh Frequency Options (Table & Label Refresh Intervals):
What they do: Set how often the tables and labels update.
Recommendation: Start with an interval of 1 bar; increase it if your chart is too busy.
Important for Beginners:
Default Settings:
All default values have been chosen for balanced performance across different markets. If you ever experience unexpected behavior, start by resetting the inputs to their defaults.
Step-by-Step Adjustments:
Experiment by changing one setting at a time while observing how the strategy’s signals and performance metrics change. This will help you understand the impact of each parameter.
Resetting to Defaults:
If things seem off or you’re not getting the expected results, you can always reset the indicator. Either reload the script or use the “Reset Inputs” option (if available) to revert to the default settings.
Jump in, experiment, and enjoy the power of adaptive precision trading. This strategy is built to grow with your skills—have fun exploring and refining your trading edge!
Happy trading!
HOD/LOD/PMH/PML/PDH/PDL Strategy by @tradingbauhaus This script is a trading strategy @tradingbauhaus designed to trade based on key price levels, such as the High of Day (HOD), Low of Day (LOD), Premarket High (PMH), Premarket Low (PML), Previous Day High (PDH), and Previous Day Low (PDL). Below, I’ll explain in detail what the script does:
Core Functionality of the Script:
Calculates Key Price Levels:
HOD (High of Day): The highest price of the current day.
LOD (Low of Day): The lowest price of the current day.
PMH (Premarket High): The highest price during the premarket session (before the market opens).
PML (Premarket Low): The lowest price during the premarket session.
PDH (Previous Day High): The highest price of the previous day.
PDL (Previous Day Low): The lowest price of the previous day.
Draws Horizontal Lines on the Chart:
Plots horizontal lines on the chart for each key level (HOD, LOD, PMH, PML, PDH, PDL) with specific colors for easy visual identification.
Defines Entry and Exit Rules:
Long Entry (Buy): If the price crosses above the PMH (Premarket High) or the PDH (Previous Day High).
Short Entry (Sell): If the price crosses below the PML (Premarket Low) or the PDL (Previous Day Low).
Long Exit: If the price reaches the HOD (High of Day) during a long position.
Short Exit: If the price reaches the LOD (Low of Day) during a short position.
How the Script Works Step by Step:
Calculates Key Levels:
Uses the request.security function to fetch the HOD and LOD of the current day, as well as the highs and lows of the previous day (PDH and PDL).
Calculates the PMH and PML during the premarket session (before 9:30 AM).
Plots Levels on the Chart:
Uses the plot function to draw horizontal lines on the chart representing the key levels (HOD, LOD, PMH, PML, PDH, PDL).
Each level has a specific color for easy identification:
HOD: White.
LOD: Purple.
PDH: Orange.
PDL: Blue.
PMH: Green.
PML: Red.
Defines Trading Rules:
Uses conditions with ta.crossover and ta.crossunder to detect when the price crosses key levels.
Long Entry: If the price crosses above the PMH or PDH, a long position (buy) is opened.
Short Entry: If the price crosses below the PML or PDL, a short position (sell) is opened.
Long Exit: If the price reaches the HOD during a long position, the position is closed.
Short Exit: If the price reaches the LOD during a short position, the position is closed.
Executes Orders Automatically:
Uses the strategy.entry and strategy.close functions to open and close positions automatically based on the defined rules.
Advantages of This Strategy:
Based on Key Levels: Uses important price levels that often act as support and resistance.
Easy to Visualize: Horizontal lines on the chart make it easy to identify levels.
Automated: Entries and exits are executed automatically based on the defined rules.
Limitations of This Strategy:
Dependent on Volatility: Works best in markets with significant price movements.
False Crosses: There may be false crosses that generate incorrect signals.
No Advanced Risk Management: Does not include dynamic stop-loss or take-profit mechanisms.
How to Improve the Strategy:
Add Stop-Loss and Take-Profit: To limit losses and lock in profits.
Filter Signals with Indicators: Use RSI, MACD, or other indicators to confirm signals.
Optimize Levels: Adjust key levels based on the asset’s behavior.
In summary, this script is a trading strategy that operates based on key price levels, such as HOD, LOD, PMH, PML, PDH, and PDL. It is useful for traders who want to trade based on significant support and resistance levels.
Dual Strategy Selector V2 - CryptogyaniOverview:
This script provides traders with a dual-strategy system that they can toggle between using a simple dropdown menu in the input settings. It is designed to cater to different trading styles and needs, offering both simplicity and advanced filtering techniques. The strategies are built around moving average crossovers, enhanced by configurable risk management tools like take profit levels, trailing stops, and ATR-based stop-loss.
Key Features:
Two Strategies in One Script:
Strategy 1: A classic moving average crossover strategy for identifying entry signals based on trend reversals. Includes user-defined take profit and trailing stop-loss options for profit locking.
Strategy 2: An advanced trend-following system that incorporates:
A higher timeframe trend filter to confirm entry signals.
ATR-based stop-loss for dynamic risk management.
Configurable partial take profit to secure gains while letting the trade run.
Highly Customizable:
All key parameters such as SMA lengths, take profit levels, ATR multiplier, and timeframe for the trend filter are adjustable via the input settings.
Dynamic Toggle:
Traders can switch between Strategy 1 and Strategy 2 with a single dropdown, allowing them to adapt the strategy to market conditions.
How It Works:
Strategy 1:
Entry Logic: A long trade is triggered when the fast SMA crosses above the slow SMA.
Exit Logic: The trade exits at either a user-defined take profit level (percentage or pips) or via an optional trailing stop that dynamically adjusts based on price movement.
Strategy 2:
Entry Logic: Builds on the SMA crossover logic but adds a higher timeframe trend filter to align trades with the broader market direction.
Risk Management:
ATR-Based Stop-Loss: Protects against adverse moves with a volatility-adjusted stop-loss.
Partial Take Profit: Allows traders to secure a percentage of gains while keeping some exposure for extended trends.
How to Use:
Select Your Strategy:
Use the dropdown in the input settings to choose Strategy 1 or Strategy 2.
Configure Parameters:
Adjust SMA lengths, take profit, and risk management settings to align with your trading style.
For Strategy 2, specify the higher timeframe for trend filtering.
Deploy and Monitor:
Apply the script to your preferred asset and timeframe.
Use the backtest results to fine-tune settings for optimal performance.
Why Choose This Script?:
This script stands out due to its dual-strategy flexibility and enhanced features:
For beginners: Strategy 1 provides a simple yet effective trend-following system with minimal setup.
For advanced traders: Strategy 2 includes powerful tools like trend filters and ATR-based stop-loss, making it ideal for challenging market conditions.
By combining simplicity with advanced features, this script offers something for everyone while maintaining full transparency and user customization.
Default Settings:
Strategy 1:
Fast SMA: 21, Slow SMA: 49
Take Profit: 7% or 50 pips
Trailing Stop: Optional (disabled by default)
Strategy 2:
Fast SMA: 20, Slow SMA: 50
ATR Multiplier: 1.5
Partial Take Profit: 50%
Higher Timeframe: 1 Day (1D)
Reflected ema Difference (RED) This script, titled "Reflected EMA Difference (RED)," is based on the logic of evaluating the percentage of convergence and divergence between two moving averages, specifically the Hull Moving Averages (HMA), to make price-related decisions. The Hull Moving Average, created by Alan Hull, is used as the foundation of this strategy, offering a faster and more accurate way to analyze market trends. In this script, the concept is employed to measure and reflect price variations.
Script Functionality Overview:
Hull Moving Averages (HMA): The script utilizes two HMAs, one short-term and one long-term. The main idea is to compute the Delta Difference between these two moving averages, which represents how much they are converging or diverging from each other. This difference is key to identifying potential market trend changes.
Reflected HMA Value: Using the Delta Difference between the HMAs, the value of the short-term HMA is reflected, creating a visual reference point that helps traders see the relationship between price and HMAs on the chart.
Percentage Change Index: The second key parameter is the percentage change index. This determines when a trend is reversing, allowing buy or sell orders to be established based on significant changes in the relationship between the HMAs and the price.
Delta Multiplier: The script comes with a default Delta multiplier of 2 for calculating the difference between HMAs, allowing traders to adjust the sensitivity of the analysis based on the time frame being analyzed.
Trend Reversal Signals: When the price crosses the thresholds defined by the percentage change index, buy or sell signals are triggered, based on the detection of a potential trend reversal.
Visual Cues with Boxes: Boxes are drawn on the chart when the HullMA crosses the reflected HMA value, providing a visual aid to identify critical moments where risk should be evaluated.
Alerts for Receiving Signals:
This script allows you to set up buy and sell alerts via TradingView's alert system. These alerts are triggered when trend changes are detected based on the conditions coded in the script. Traders can receive instant notifications, allowing them to make decisions without needing to constantly monitor the chart.
Additional Considerations:
The percentage change parameter is adjustable and should be configured based on the time frame you are trading on. For longer time frames, it's advisable to use a larger percentage change to avoid false signals.
The use of Hull Moving Averages (HMA) provides a faster and more reactive approach to trend evaluation compared to other moving averages, making it a powerful tool for traders seeking quick reversal signals.
This approach combines the power of Hull Moving Averages with an alert system to improve the trader’s response to trend changes.
Spanish
Este script, titulado "Reflected EMA Difference (RED)", está fundamentado en la lógica de evaluar el porcentaje de acercamiento y distancia entre dos medias móviles, específicamente las medias móviles de Hull (HMA), para tomar decisiones sobre el valor del precio. El creador de la media móvil de Hull, Alan Hull, diseñó este indicador para ofrecer una forma más rápida y precisa de analizar tendencias de mercado, y en este script se utiliza su concepto como base para medir y reflejar las variaciones de precio.
Descripción del funcionamiento:
Medias Móviles de Hull (HMA): Se utilizan dos HMAs, una de corto plazo y otra de largo plazo. La idea principal es calcular la diferencia Delta entre estas dos medias móviles, que representa cuánto se están alejando o acercando entre sí. Esta diferencia es clave para identificar cambios potenciales en la tendencia del mercado.
Valor Reflejado de la HMA: Con la diferencia Delta calculada entre las HMAs, se refleja el valor de la HMA corta, creando un punto de referencia visual que ayuda a los traders a observar la relación entre el precio y las HMAs en el gráfico.
Índice de Cambio de Porcentaje: El segundo parámetro clave del script es el índice de cambio porcentual. Este define el momento en que una tendencia está revirtiendo, permitiendo establecer órdenes de compra o venta en función de un cambio significativo en la relación entre las HMAs y el precio.
Multiplicador Delta: El script tiene un multiplicador predeterminado de 2 para el cálculo de la diferencia Delta, lo que permite ajustar la sensibilidad del análisis según la temporalidad del gráfico.
Señales de Reversión de Tendencia: Cuando el precio cruza los límites definidos por el índice de cambio porcentual, se emiten señales para comprar o vender, basadas en la detección de una posible reversión de tendencia.
Visualización con Cajas: Se dibujan cajas en el gráfico cuando el indicador HullMA cruza el valor reflejado de la HMA, ayudando a identificar visualmente los momentos críticos en los que se debe evaluar el riesgo de las operaciones.
Alertas para Recibir Señales:
Este script permite configurar alertas de compra y venta desde el apartado de alertas de TradingView. Estas alertas se activan cuando se detectan cambios de tendencia en función de las condiciones establecidas en el código. El trader puede recibir notificaciones instantáneas, lo que facilita la toma de decisiones sin necesidad de estar constantemente observando el gráfico.
Consideraciones adicionales:
El porcentaje de cambio es un parámetro ajustable y debe configurarse según la temporalidad que se esté operando. En temporalidades más largas, es recomendable usar un porcentaje de cambio mayor para evitar señales falsas.
La utilización de las medias móviles de Hull (HMA) proporciona un enfoque más rápido y reactivo para evaluar tendencias en comparación con otras medias móviles, lo que lo convierte en una herramienta poderosa para traders que buscan señales rápidas de reversión.
Este enfoque combina la potencia de las medias móviles de Hull con un sistema de alertas que mejora la reactividad a cambios de tendencia.
Time Session Filter - MACD exampleTime Session Filter in TradingView Strategy: A Comprehensive Guide
Welcome to this educational TradingView blog where we dive deep into the functionality and utility of the time session filter in trading strategies. It's interesting to note that the time session filter is a commonly overlooked feature in Pine Script, often not integrated into overall trading strategies. Yet, when used wisely, this tool can significantly enhance your trading approach. In essence, the session filter ensures that trades are only made within a specific, user-defined time frame. By incorporating this often-neglected building block, you can make your strategy more adaptable to various market conditions and trading preferences.
What is a Time Session Filter?
A time session filter is designed to:
Select Times of the Day to Trade: The filter allows you to choose specific hours during the day in which trades are allowed to be excecuted.
Toggle Days to Trade: You can decide which days of the week you want to trade, giving you the flexibility to avoid days that are historically not profitable for your strategy.
Close Trade When Session Ends: The filter can automatically close any open trade once the specified time session concludes, reducing the risk associated with holding positions outside your chosen time frame.
The user interface is streamlined, taking minimal space for the input sections, making it convenient to integrate with other indicators in your overall strategy script. In addition the script colors the background of the chart green when the timesession filter is on and makes the background red when the filter doesn't allow any trades. This helps you to visualise the selected timeframes in relation to chart patterns.
Best Practices for Time Selection
From my personal trading experience I share some input settings you can try to play around with:
Stocks: Trading stocks sometimes yield better results if you only trade in the mornings until lunchtime. This is the period when markets are generally more active, and traders are keenly participating.
Cryptocurrencies: For cryptocurrencies, it sometimes makes sense to avoid trading on Fridays, a day when futures contracts often expire. Various other market-moving events also typically occur on Fridays.
Random Selection: Interestingly, sometimes choosing a random selection of times and days can improve the script's performance, adding an element of unpredictability that might outperform more systematic approaches.
Strategy Overview
This strategy script incorporates various elements, including risk position size and MACD indicator, to provide a comprehensive trading strategy. For a detailed explanation of risk position sizing, please refer to this article:
For a complete understanding of the MACD indicator utilized, visit the following explanation:
Additionally, for high time frame trend filters, consult this resource for more info:
Educational Purposes and Risks
Please note that this script is for educational purposes and serves merely as an example of how to incorporate a time session filter into a trading strategy for pinescript. It is a simplified strategy without a fixed stop-loss, which can result in higher exposure to significant losses. The time session filter can be a powerful addition to your trading strategy, providing you with the tools to tailor your approach according to time-specific market conditions. By understanding its functionalities and best practices, you can make more informed trading decisions, but always remember that trading carries inherent risks.
Happy trading!
Rob Booker Reversal Tabs StrategyRob Booker Reversal Tabs Strategy is an updated version of Rob Bookers Reversal Tab study: Rob Booker Reversal Tabs
While the original is a Pinescript study, this version can be switched between strategy and indicator mode.
Rob Bookers script generates reversal signal based on MACD and Stochastics, it is not a true reversal system, default pyramiding value is set to 5.
Inputs determine MACD and Stochastics settings. The only additional input is the "Strategy Mode" checkbox.
This script works well on its own for some tickers, but like any reversal pattern generating scripts, traders will profit from looking at overall price action and trend strength before making a trade.
From the original:
A simple reversal pattern indicator that uses MACD and Stochastics.
Created by Rob Booker and programmed by Andrew Palladino.
Please note that I only updated the original to V5 and edited it to be a strategy, which was a grand total of 5 minutes of work. I updated it because I wanted to see how the script performs as a strategy and I'm publishing it in case others would like to use it. I take no credit whatsoever for the original and WILL take this version down if Rob Booker or his Team ask me to or decide to release their own strategy version of the original.
Check out Rob Bookers scripts and ideas on his Tradingview account: robbooker
MACD with Support and Resistance - Signals, Alerts, TP and SLMACD with Support and Resistance - Signals Alerts SL and TP by Tech Store On
The script uses MACD for entering/exiting trades and support/resistance lines to take TP1 (take profit 1). Both MACD and support/resistance lines are fully configurable to your preference, and you can back-test it via TradingView. Once TP1 is taken, you can either set the indicator to close the trade at the end of the US trading session day (4PM ET) or you can continue taking partial profits where you wish or just wait until reversal signal alert.
For example: If you will be day trading SPY and you wish to close your positions no matter what right before the market closes (3:45PM ET > 15min before closes): Make sure to checkbox “Intraday – Close Position Before Market Closes” in the strategy/indicator Settings, so that you are alerted soon before the market closes, if you wish to continue holding the position – leave this checkbox unchecked.
SL: SL is set to be slightly above/below the MACD signal candle, which is best suited for this strategy from manual backtesting.
Strategy Take Profit Approach
While the initial position open and SL hit is always based on a closed candle bar (can’t do otherwise, as otherwise you will have 10s of fake signal alerts), there are 2 ways on trading this strategy in terms of TP1 / TP1 taken > back to Entry, which is based off Alert type.
You can switch this as you like within the indicator settings, “Checked: TP1/TP1 taken > back to Entry per Price Touch | Unchecked: per Candle Close”.
Candle Close vs Price Touch: with the Default method - Candle Close for an alert for TP1 or if price comes back to Entry after TP1 is taken will only be triggered once candle bar fully closes crossing the area, while Price Touch will alert when price touches the area before candle bar closes.
For example: your trade is running well, you grab TP1 and the price reverses and hits your trade Entry area. With Price Touch – you are immediately alerted to close your trade with no loss and with TP1 profit. With Candle Close - you will receive an alert only once candle bar fully closes on top of the Entry crossing it backwards, meaning it may lower your TP1 profit or even completely reverse the trade into loss in case it will be a huge candle bar for any reason. However, it may touch the Entry area, looking like the price is reversing, but then continue per initial trade direction, sometimes becoming a trend. So, while Price Touch seem like a more conservative approach, Candle Close can give you much bigger profits if you catch a trend, but you can always change it via the Settings.
Note: TradingView back-testing engine does not have a feature to open/close orders IMMEDIATELY via Price Touch trigger, but only when the candle closes after price touches the scripted area/line/etc., so you for the most accurate results, test your strategy out via Candle Close setting. Otherwise, decide yourself. I personally like more Candle Close since I can test it out via back-testing with the most accurate results.
Note: If you will be observing the strategy LIVE, during LIVE candle bar movement – it will look weird, like it’s placing an order after order during any trigger – this seem like a TradingView bug, but is only observational, once the candle bar is closed and you refresh TradingView it will all look correct.
Back-Testing
If you wish to do some back-testing, just modify the strategy/indicator Settings:
-----1) STRATEGY: This is for back-testing/experimenting with the script inputs.
----------a. You can setup a start date (date, month, year) from which it will start opening back-test trades, select a position size and select TP1 size, the idea here is to close half (or whatever you choose) portion of the trade once you hit your TP1, then to either close at small profit or to catch a trend and close the second portion of the position long way ahead from Entry, otherwise it will alert you to close the position if price comes back to Entry, at reversal signal or at the end of US trading session if the option for it is checked. If you wish to close the whole position at TP1, just enter the same amount for TP1 to match backtest position size. Otherwise you can experiment with TP1 sizing – try it out!
-----2) Feel free to experiment with MACD settings and with S&R Left/Right bars, you may be amazed how results will differ and find some really cool combinations!
-----3) Make sure you select/de-select “Intraday – Close Position Before Market Closes” setting depending on what you are back-testing and on which conditions
-----4) Note: If you wish to do some deep back-testing (1+ years), use the “Deep Backtesting” feature within Strategy Tester on the TradingView as otherwise it may show wrong results or even fail to compute the results
Add the alerts
-----Right-click anywhere on the TradingView chart
-----Click on Add alert
-----Condition: MACD with Support and Resistance - Signals
----------o Right underneath the condition click on the drop-down menu and select “alert() function calls only”
-----Expiration time: Whatever you wish
-----Alert actions: Whatever notifications you wish
-----Alert name: DO NOT TOUCH THIS
-----Hit “Create”
-----Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
- Note: If you add the alert while the script is currently “In Position” it will not know that. So either wait when there will be no position open at all or close your position partially if the bot opens it twice bigger or so in case per script the bot will think it is already in position.
Note: Because of the slippage and the order processing time between TradingView, AutoView and the Broker (it’s usually about a second or so), it is suggested to not use a timeframe lower than 1min. The script is working really well with 15M/H1 timeframes per my back-testing, but feel free to explore via Strategy Back-testing what’s best for the instrument you wish to trade.
VWAP Push StrategyThis strategy is unfortunately not finished yet.
A pretty simple strategy. If price broke through VWAP and had three consecutive candles following the breakthroughs trend, the high of the third candle will be drawn. If this happened after a crossover of the vwap and price breaks through the high of the third candle, strategy will go long. Short will be the same after crossing under the vwap. A long or short will be closed after crossing the vwap in the opposite direction, so the vwap is kind of a trailing stop.
Unfortunately, I could not manage to stop the script from entering multiple times into one drawn high or low. Of course, if a high was crossed the script should wait for a new formed high before entering a new long. If someone would find a solution to this, it would be great, because I think it is a nice strategy .
Should work great scalping 5min charts (when scripting, I used the SPX for reference).
Dollar cost averaging trading system (DCA)As investors, we often face the dilemma of willing high stock prices when we sell, but not when we buy. There are times when this dilemma causes investors to wait for a dip in prices, thereby potentially missing out on a continual rise. This is how investors get lured away from the markets and become tangled in the slippery slope of market timing, which is not advisable to a long-term investment strategy.
Skyrex developed a complex trading system based on dollar-cost averaging in Quick Fingers Luc's interpretation. It is a combinations of strategies which allows to systematically accumulate assets by investing scaled amounts of money at defined market cycle global support levels. Dollar-cost averaging can reduce the overall impact of price volatility and lower the average cost per asset thus even during market slumps only a small bounce is required to reach take profit.
The strategy script monitors a chart price action and identifies bases as they form. When bases are reached the script provides entry actions. During price action development an asset value can go lower and in this way the script will perform safety entries at each subsequent accumulation levels. When weighted average entry price reaches target profit the script will perform a take profit action.
Bases are identified as pivot lows in a fractal pattern and validated by an adjustable decrease/rise percentage to ensure significancy of identified bases. To qualify a pivot low, the indicator will perform the following validation:
Validate the price rate of change on drops and bounces is above a given threshold amount.
Validate the volume at the low pivot point is above the volume moving average (using a given length).
Validate the volume amount is a given factor of magnitude above is above the volume moving average.
Validate the potential new base is not too close to the previous range by using a given price percent difference threshold amount.
A fractal pattern is a recurring pattern on a price chart that can predict reversals among larger, more chaotic price movements.
These basic fractals are composed of five or more bars. The rules for identifying fractals are as follows:
A bearish turning point occurs when there is a pattern with the highest high in the middle and two lower highs on each side.
A bullish turning point occurs when there is a pattern with the lowest low in the middle and two higher lows on each side.
Basic dollar-cost averaging approach is enhances by implementation of adjustable accumulation levels in order to provide opportunity of setting them at defined global support levels and Martingale volume coefficient to increase averaging effect. According to Quick Fingers Luc's principles trading principles we added volume validation of a base because it allows to confirm that the market is resistant to further price decrease.
The strategy supports traditional and cryptocurrency spot, futures, options and marginal trading exchanges. It works accurately with BTC, USD, USDT, ETH and BNB quote currencies. Best to use with 1H timeframe charts and limit orders. The strategy can be and should be configured for each particular asset according to its global support and resistance levels and price action cycles. You can modify levels and risk management settings to receive better performance
Advantages of this script:
Strategy has high net profit of 255% at backtests
Backtests show high accuracy around 75%
Low Drawdowns of around 14% at backtests
Strategy is sustainable to market slumps and can be used for long-term trading
The strategy provides a large number of entries which is good for diversification
Can be applied to any market and quote currency
Easy to configure user interface settings
How to use?
1. Apply strategy to a trading pair your are interested in using 1H timeframe chart
2. Configure the strategy: change layer values, order size multiple and take profit/stop loss values according to current market cycle stage
3. Set up a TradingView alert to trigger when strategy conditions are met
4. Strategy will send alerts when to enter and when to exit positions which can be applied to your portfolio using external trading platforms
5. Update settings once market conditions are changed using backtests on a monthly period
[Sextan] PINEv5 Sextans Backtest Framework V3.3Level: 5
Background
In order to celebrate the breakthrough of 4000 followers of my account, I decided to release the Sextan backtesting framework for free use to help more quantitative traders quickly evaluate any technical indicators.
The version released this time is based on the algorithm framework optimization of the old version, and integrates the new feature in Pine V5: Bar Magnifier. This new feature to make Sextan strategy backtesting even more accurate. FYI.
www.tradingview.com
Backtesting of technical indicators and strategies is the most common way to understand a quantitative strategy. However, the complicated configuration and adaptation work of backtesting many quantitative tools makes many traders who do not understand the code daunted. Moreover, although I have written a lot of strategies,
However, I am still not very satisfied with the backtest configuration and writing efficiency. Therefore, I have been thinking about how to build a backtesting framework that can quickly and easily evaluate the backtesting performance of any indicator with a "long/short entry" indicator, that is, a "simple backtesting tool for dummies". The performance requirements should be stable, and the operation should be simple and convenient. It is best to "copy", "paste", and "a few mouse clicks" to complete the quick backtest and evaluation of a new indicator.
Luckily, I recently realized that TradingView provides an "Indicator on Indicator" feature, which is the perfect foundation for doing "hot swap" backtesting. My basic idea is to use a two-layer design. The first layer is the technical indicator signal source that needs to be embedded, which is only used to provide buy and sell signals of custom strategies; the second layer is the trading system, which is used to receive the output signals of the first layer, and filter the signals according to the agreed specifications. , Take Profit, Stop Loss, draw buy and sell signals and cost lines, define and send custom buy and sell alert messages to mobile phones, social software or trading interfaces. In general, this two-layer design is a flexible combination of "fixed and flexiable", which can meet the needs of most traders to quickly evaluate the performance of a certain technical indicator. The first layer here is flexible. Users can insert their own strategy codes according to my template, and they can draw buy and sell signals and output them to the second layer. The second layer is fixed, and the overall framework is solidified to ensure the stability and unity of the trading system. It is convenient to compare different or similar strategies under the same conditions. Finally, all trading signals are drawn on the chart, and the output strategy returns. test report.
The main function:
The first layer: "{Sextan} Your Indicator Source", the script provides a template for personalized strategy input, and the signal and definition interfaces ensure full compatibility with the second layer. Backtesting is performed stably in the backtesting framework of the layer. The first layer of this script is also relatively simple: enter your script in the highlighted custom script area, and after ensuring the final buy and sell signals long = bool condition, short = bool condition, the design of the first layer is considered complete. Input it into the PINE script editor of TradingView, save it and add it to the chart, you can see the pulse sequence in yellow (buy) and purple (sell) on the sub-picture, corresponding to the main picture, you can subjectively judge that the quality of the trading point of the strategy is good Bad.
Pine v4 your indicator template:
Pine v5 your indicator template:
Pine v4 your MTF indicator template:
Pine v5 your MTF indicator template:
The second layer: "{Sextan} PINEv4 Sextans Backtest Framework". This script is the standardized trading system strategy execution and alarm, used to generate the final report of the strategy backtest and some key indicators that I have customized that I find useful, such as: winning rate , Odds, Winning Surface, Kelly Ratio, Take Profit and Stop Loss Thresholds, Trading Frequency, etc. are evaluated according to the Kelly formula. To use the second layer, first load it into the TrainingView chart, no markers will appear on the chart, since you have not specified any strategy source signals, click on the gear-shaped setting next to the "{Sextan} PINEv4 Sextans BTFW" header button, you can open the backtest settings, the first item is to select your custom strategy source. Because we have added the strategy source to the chart in the previous step, you can easily find an option "{Sextan} Your Indicator Source: Signal" at the bottom of the list, this is the strategy source input we need, select and confirm , you can see various markers on the main graph, and quickly generate a backtesting profit graph and a list of backtesting reports. You can generate files and download the backtesting reports locally. You can also click the gear on the backtest chart interface to customize some conditions of the backtest, including: initial capital amount, currency type, percentage of each order placed, amount of pyramid additions, commission fees, slippage, etc. configuration. Note: The configuration in the interface dialog overrides the same configuration implemented by the code in the backtest script.
How to output charts:
The first layer: "{Sextan} Your Indicator Source", the output of this script is the pulse value of yellow and purple, yellow +1 means buy, purple -1 means sell.
The second layer: PINEv4 Sextans Backtest Framework". The output of this script is a bit complicated. After all, it is the entire trading system with a lot of information:
1. Blue and red arrows. The blue upward arrow indicates long position, the red downward arrow indicates short position, and the horizontal bar at the end of the purple arrow indicates take profit or stop loss exit.
2. Red and green lines. This is the holding cost line of the strategy, green represents the cost of holding a long position, and red represents the cost of holding a short position. The cost line is a continuous solid line and the price action is relatively close.
3. Green and yellow long take profit and stop loss area and green and yellow long take profit and stop loss fork. Once a long position is held, there is a conditional order for take profit and stop loss. The green horizontal line is the long take profit ratio line, and the yellow is the long stop loss ratio line; the green cross indicates the long take profit price, and the yellow cross indicates the long position. Stop loss price. It's worth noting that the prongs and wires don't necessarily go together. Because of the optimization of the algorithm, for a strong market, the take profit will occur after breaking the take profit line, and the profit will not be taken until the price falls.
4. The purple and red short take profit and stop loss area and the purple red short stop loss fork. Once a short position is held, there will be a take profit and stop loss conditional order, the red is the short take profit ratio line, and the purple is the short stop loss ratio line; the red cross indicates the short take profit price, and the purple cross indicates the short stop loss price.
5. In addition to the above signs, there are also text and numbers indicating the profit and loss values of long and short positions. "L" means long; "S" means short; "XL" means close long; "XS" means close short.
TradingView Strategy Tester Panel:
The overview graph is an intuitive graph that plots the blue (gain) and red (loss) curves of all backtest periods together, and notes: the absolute value and percentage of net profit, the number of all closed positions, the winning percentage, the profit factor, The maximum trading loss, the absolute value and ratio of the average trading profit and loss, and the average number of K-lines held in all trades.
Another is the performance summary. This is to display all long and short statistical indicators of backtesting in the form of a list, such as: net profit, gross profit, Sharpe ratio, maximum position, commission, times of profit and loss, etc.
Finally, the transaction list is a table indexed by the transaction serial number, showing the signal direction, date and time, price, profit and loss, accumulated profit and loss, maximum transaction profit, transaction loss and other values.
Remarks
Free to use but closed source.
Alpha Candle Breakout Signal on Momentum from Support Resistance
Hello traders,
Let’s start with a brief description of what this strategy/indicator is and what it does and how we trade based on Alpha Candles.
The definition of an Alpha Candle is that it is mathematically calculated, and significantly bigger than the previous candles. This could be a green candle or a red candle, as long as the body is significantly bigger than the previous candles at the end of the calculation. All calculations are done in real time, we do NOT paint the candle sticks after the close of the candle and do not use offset values. This is extremely important. You will see the candle changing it's color as the body of the candle gets bigger with real time data feed. (Recalculate On Every Tick is ON by default). Now besides the mathematical calculations, an Alpha Candle also represents the emotion in the market for that stock in that moment. We can also say that an Alpha Candle is a change in the momentum.
Now that we’ve identified the Alpha candle, the second step is, to have a look at the chart and identify if the Alpha candle is breaking to a new high / low from a consolidation period, or from a good chart pattern (ascending / descending triangle , pennant , sideways consolidation) or a sudden direction change of the stock (bounce). Remember, the script will paint all Alpha candles regardless.
NVAX day trading example
Forex
Crypto
PLUG (Bounce example)
The script will identify the Alpha candles that are breaking to a new high / low from a user input look back period (default is 20 bars back, but this can be changed by the user input). An Alpha candle that breaks the look back period, will have a stop loss line below for Green Alpha or above for Red Alpha Candle and reward targets, like target1 or target2 (both are user input fields, can be adjusted to personal R values, default values are 2R and 3R)
A 2R means two times the reward (profit) of a 1-unit risk. If you are comfortable of loosing $50 per trade which will be considered 1-unit, then 2R means $100 reward (profit) target and a 3R is $150 reward (profit) target. Those R values will be plotted and/or labelled on the chart with dollar amounts if desired. You can change your R values from the user input area, even with decimal points, like 2.5R or 3.75R. If you shoot for at least 2R, you could be wrong 6 times out of 10, and still make 2R profit, as long as the other 4 trades give you a total of 8R. This is a basic trading concept. It will force the new traders to focus on risk/reward rather then a gambling attitude.
The script is meant to work with candle stick chart patterns only, it is NOT meant to work with ranges, line charts or point and figure charts. It will work with time frames like (seconds,1,2,3,5,10 minute or any minutes, daily, weekly). If you are trading IPOs , there might not be enough data for the script to do the calculation, so just be aware.
The script will identify the candles if they are Green Alpha (going up, bullish ) or Red Alpha (going down, bearish ). In order to see them clearly, we’ve greyed out the rest of the candles, and made Green Alpha candles white, and Red Alphas are left as red. You can change the colors from the user input area.
There is also a look back period, between 1-55 and the initial value is 20 for Green Alpha and 10 for Red Alpha. So, if the Alpha Candle breaks this look back period, it will be considered as an opportunity to take the trade. The code will put the stop loss area, possible target1 and target2 areas with a blue diamond and will draw the resistance/support lines for that Alpha candle. Depending on the individual’s risk tolerance, a label on the right side of the screen will show the risk tolerance (user input value) and the number of shares to be traded based on the risk tolerance (# of shares will be for the last Alpha Candle that is formed, it will constantly update itself with the new Alpha Candle)
For those who might be familiar with the three-bar play, we implemented something similar, so the code will find them in real time. Once an Alpha Candle is formed, if the following candle is a very small candle, also called pin bar , it will be painted to orange, so you can see it clearly. This pin bar is significantly smaller than the previous candles and formed right after an Alpha Candle.
Like anything in life, nothing is free. Meaning you have to work for it. So if you are looking to buy/sell blindly based on some indicators and signals, please do not consider this script. However, once you start using it, you will see how patterns repeat, when they repeat and how they repeat. It will identify the action, but you have to check the validity from the charts, so user discretionary is advised. As an example, if the Alpha candle is breaking from a consolidation period at $10. Let’s assume stop loss is at $9 so the 2R target will be $12, but if there is a possible resistance at $11, then the trader has to decide to take the trade for a possible 1R return, or skip the trade.
We try to approach the trading as a set of rules and processing the trades one by one, with a calculated risk and reward. This script will give you the Candle stick formation that is worth consideration and will draw the Stop Loss area (you can tweak this to your liking), will draw the 2-3R Targets, and will calculate the number of shares to be purchased based on the Risk Tolerance user entered in the user input area. The rest is to let the trade take care of it self.
Charts and patterns work better, when there is enough volume in a particular stock. If the stock is trading very low in volume , things will not work as expected. So, we must focus on the abnormal stocks, like gap gainers, volume gainer stocks, or heavily traded stocks (for intraday trading). For swing or long-term traders, one could look for a Green Alpha candle, assess the risk and possible return and trade the plan on a daily chart pattern (long term), or 15,30,60 min charts for swing trades.
If you are looking to short a stock, look for stocks that are weak (gap downs), so look for Red Alpha formations in that stock.
Once the back testing is turned on, code will generate buy/sell signals, otherwise it will work as an indicator. But please keep in mind….. For day trading, the stock has to be abnormally trading, so the chart patterns and the Alpha Candles work correctly. Volume has to be more than usual. It is the best way to have predictable results for day trading. If the volume of the stock is 2-5 times or more than the average of 20 days period (early in the morning), and even more later in the day, it is a good indication that the stock is trading on an abnormal volume with some news (pre-market abnormality is a good sign for possible abnormality for that stock).
For back testing, user can select from the user input area :
• Long or Short Trades or both or use the script as an indicator
• Close any open position if an Alpha candle forms in the opposite direction
• Pyramid the trades up to 4 levels (allow to buy/sell 4 times in the same direction every time another Alpha Candle forms)
• Breakout/breakdown look back period (every time an Alpha Candle forms and breaks this look back period, it will be a trade opportunity)
• Target Reward areas
• Stop Loss area
• Time frame (change the time frame and observe which time frame made good profit. Test the plan for future trades. Test it in as many abnormal stocks for the day they were behaving abnormal as possible). Time frame is not a user input field, just the time frame of the chart, 2,5,10 min, 1 hour etc.
• Selective date testing (between two dates/times). This is very important as most of the good opportunities comes from abnormal price action with volume . If you back test with the maximum amount of data for that abnormal stock on that day, it will produce unrealistic results, because the stock will have a normal course of trend before the news. Remember, we are looking for stocks that are trading abnormal in both price and volume or stocks like AAPL , TSLA which are trading heavily on each day. It is also a good way to learn, how and when to buy/sell, where to put stop losses by observing the chart with the Alpha Candles showing the results.
• All the above values will have an impact on the total profit / loss.
F (Ford Motors)
Now that we’ve covered what the script does, let’s plan the trade and trade the plan.
Side Note:
-------------
We started coding this as an indicator to show the Alpha Candles to find opportunities in the market. Later in the development, we implemented it as a Strategy, to be able to back test the ideas, to tweak some rules for entry/exit and see the effects on our profit/loss percentages in general. We kept the original idea being an Indicator, to show us the Alpha Candles in real time. This requires the option “Indicator Mode” is to be selected from the User Input area, and leaving the “Recalculate On Every Tick” is selected from the Properties tab of the strategy (as of Pine Script v5). Strategy is turning this “On” by default.
Disclaimer: This script is an educational and personal use only tool and should be used accordingly. User can not publish any images created with this code. Do your own due diligence, do not buy / sell stocks based on any indicator, always use stop losses. We do not make any promises as this indicator or any indicator will make you a profitable trader. Trading and technical analysis is difficult, it takes time to build confidence and experience. Study the charts and candlestick formations. Study support/resistance areas and how to identify them. This will help you to tweak the script’s stop loss areas and 2R-3R targets. Do not invest any money you are not comfortable loosing.
This is an invite only strategy. We will give ample time to test it out. After that you will need to subscribe. To get access to this strategy trader can send me an email from the links below.
All the Best
Happy Trading
TradingGroundhog - Fundamental Bot Automation - Fractal/Wave -V1PLEASE READ THE DESCRIPTION - AS THE SCRIPT IS USED FOR AUTOMATION AND TRADING PAIR SWITCH THE MECHANISM CAN BE COMPLICATED TO UNDERSTAND
#-- Pairs Switching - No Repaint - Fractals - Wavetrend --
This strategy uses my fractal/wavetrend previous methods in order to buy/sell.
However, it has been designed in order to switch automatically the pairs on which it trades to reduce the loss and risk.
#-- Synopsis --
To do so, the script uses a Daily wavetrend oscillator. The oscillator is used to find uptrend periods.
From it, the number of uptrend days are counted.
#-- Wavetrend --
For exemple, if BTC/EUR goes from downtrend to uptrend, the script will start to count since how many days the market is uptrend.
Then, if BTC/EUR goes from uptrend to downtrend, the counter will be reset to 0.
The script only trades during uptrend periods.
#-- Pairs --
Up to 35 pairs can be used at the same time. The user can enable of disable to trade on certain pairs.
Uptrend days are counted for each one of those pairs. The user can define on how many pairs the script can trade at the same time.
The select which pairs will be trade, the script sort all the enabled pairs based on their uptrend days counters.
#-- Trade organization --
For exemple if we set 5, as the number of maximum pairs to trade on.
Trades will be conducted on the 5 pairs being in uptrend for the longest time.
Therefore, to organize the money placement on each pair, the equity is used.
For 100% of equity, 10% are kept if losing trades occur.
The remaining 90% are divided by the number of maximum pairs to trade on.
If we chose 5, we will have (90/5) 18% of our capital placed in each bot.
#-- Setting it --
As explained before, this script is used for automation.
For exemple, lets say you are interested by 15 pairs with promising evolution and you set the number of maximum pairs to trade on to 5.
You will have to set alerts for the script on each of the 15 pairs.
You will receive alerts for when to buy and sell.
Note that the script has to be set for each of the selected pairs, it is not able to trade on 15 pairs (thus, webpages) if only set on one Tradingview webpage.
#-- Plot--
Once launch, you can see a plot.
The plot represent the Uptrend days counter for 20 pairs. It also project the organization of the ENABLED pairs.
If a pair is part of the one with the highest number of uprend days. It's name will be displayed under the plot in a yellow comment box.
Four other box are projected to the right of the plot:
White comment : All the pairs sorted from highest number of uptrend days to the lowest.
Red comment : Pairs with the lowest number of uptrend days.
Blue comment : Interesting pairs which will may be uptrend for a long time.
Green comment : Actual pairs with active trading (thus, the pairs with the maximum number of uptrend days)
#-- Bot automation --
If you use 3commas or other trading bot platforms, you will have to set as comments the BUY/SELL alerts. <= Which is what I am doing with it.
Doing so make you trade on multiple pairs, automatically.
However, you will need to set as input the 3commas signal.
For the moment, the script will be needed for it.
However, I will soon release a V2 taking as input the 3commas strategy comments.
For the moment, you can set the script in different webpages and follow BUY/SELL orders by eyes of alerts. ;)
#-- Parameters --
*** Parameters have been intensively optimized using 35 cryptocurrency pairsin order to have potent efficiency for each of them. I would recommend to only change the METHOD SETTINGS. For the others, I don't recommend any modifications. If you need precision on the other parameters of if you want to modify them, more informations can be found in my previous scripts and ***
Filtering method :
Used to reduce or not the risks. If you set Wavetrend, less trades will be conducted as the wavetrend filter from will be used. If you choose Fractal, no Wavetrend signals will be used.
(I prefer to use Fractal as I am using 1 or 3 minutes timeframes for the moment.)
Market Pairs : You can select on which markets the script will trade by enabling it's checkbox.
*** Also, for the moment, due to Pinescript limitation, I cannot set as input the number of active pairs. So I set 5, after optimization, as the default number of maximum pairs to trade on. Thus, you should open webpage for each ENABLED pairs and load the script in each on them. 5 Tradingview webpage will always be active. ***
#-- Timeframe --
You can use the script for Short or Long term trading:
For Short term, you will have to use 1 or 3 minutes timeframes, depending on the volatility of the market. (What I am using)
For Long term, you will have to use 5 or 15 minutes timeframes, depending on the volatility of the market.
#-- Strategy abilities and results for more than a month of activity -- *** !!! IMPORTANT SECTION !!! ***
I have simulated the profit for the 21 ACTIVE pairs I selected has been potent with my Fractal strategy. Different maximum number of trading pairs were used in order to find the best one. The script was run for the last 46 or 30 days.
Different timeframe have been used as pairs have different volatility.
*** If you use the script, SET IT UP with the following pairs and the following timeframes. ***
-------------------------------------------------------------------------------------------------------
Parameters | Maximum number of trading pairs
-------------------------------------------------------------------------------------------------------
Timeframe | Pairs | 1 2 3 5 6 10
-------------------------------------------------------------------------------------------------------
3M | SHIB | 0 0.98 3.63 2.17 2.56 2.56
1M | SOL | 0 1.5 1.08 1.26 0 0
3M | XRP | 10.5 4.56 3.29 2.19 1.52 1.52
3M | ETH | 9.94 6.97 4.55 3.45 2.19 2.19
3M | BTC | 1.7 2.32 1.74 1.88 1.33 1.33
3M | DOT | 0 3.5 2.32 2.27 1.99 1.99
1M | DOGE | 0 0 0 3.14 1.93 1.93
1M | LUNA | 0 0 0 0.23 2.35 2.35
3M | AVAX | 8.92 0 0.53 3.63 1.17 1.17
1M | HOT | 0 0 2.12 7.96 4.69 4.69
3M | GRT | 0 -1.09 -0.82 0.25 -0.191 0
1M | LINK | 0 0 0 0 0 0
1M | CHZ | 0 0 0.4 0.85 1.89 1.91
3M | WIN | 0 0 0.52 5.89 2.8 2..8
3M | ENJ | 32.63 15.65 12.55 10.31 5.62 5.62
3M | RUNE | 0 4.68 3.42 -1.18 2.3 2.3
3M | LTC | 0 -0.06 1.1 1.29 3.49 3.49
3M | BTT | 0 0 0 0.85 1.63 1.63
3M | BCH | 0 0 0 1.36 2.36 2.36
3M | WRX | 0.26 4.66 5.36 4.29 3.01 3.01
3M | ETC | -0.92 0 0 3.6 3.31 3.56
-------------------------------------------------------------------------------------------------------
Net profit % | 63.03 43.67 37.24 55.69 45.949 43.61
Number of days | 46 30 30 46 46 46
Net profit % per day | 1.38 1.46 1.25 1.22 1.00 0.95
-------------------------------------------------------------------------------------------------------
*** Therefore, we are around more than 1% per day in each case. ***
#-- Choosing pairs --
I selected the 35 cryptocurrencies which can be exchange with EUR and evaluated the ability of my Fractal script on them. The on which have been ENABLED (true) are the best.
BINANCE:SHIBEUR | true
BINANCE:SOLEUR | true
BINANCE:XRPEUR | true
BINANCE:ETHEUR | true
BINANCE:BTCEUR | true
BINANCE:DOTEUR | true
BINANCE:ENJEUR | true
BINANCE:DOGEEUR | true
BINANCE:LUNAEUR | true
BINANCE:VETEUR | false
BINANCE:BNBEUR | false
BINANCE:AVAXEUR | true
BINANCE:HOTEUR | true
BINANCE:EGLDEUR | false
BINANCE:GRTEUR | true
BINANCE:MATICEUR | false
BINANCE:LINKEUR | true
BINANCE:CHZEUR | true
BINANCE:ICPEUR | false
BINANCE:UNIEUR | false
BINANCE:WINEUR | true
BINANCE:ADAEUR | false
BINANCE:RUNEEUR | true
BINANCE:TRXEUR | false
BINANCE:THETAEUR | false
BINANCE:EOSEUR | false
BINANCE:LTCEUR | true
BINANCE:XLMEUR | false
BINANCE:BTTEUR | true
BINANCE:SXPEUR | false
BINANCE:LAZIOEUR | false
BINANCE:YFIEUR | false
BINANCE:BCHEUR | true
BINANCE:WRXEUR | true
BINANCE:ETCEUR | true
Moving Stop-Loss mechanism + alerts to MT4/MT5"How to code moving stop-loss mechanism", is one of the most often repeating questions in private messages I receive, so just to focus on this mechanism, I made a spin-off from my previous script: TradingView-Alerts-to-MT4-MT5-dynamic-variables-NON-REPAINTING .
The logic here moves the stop-loss each time a trade is running and a new pivot high/low is detected. When such event occurs (UpdateLongStopLoss or UpdateShortStopLoss), stoploss_long or stoploss_short mutable variable is modified. And it needs to be coded inside strategy.exit() line as "stop=stoploss_long" or "stop=stoploss_short". Entries are pretty straightforward - on Stoch crosses.
Last lines of the script show how to wrap information about such updates and send send alerts to MetaTrader via TradingConnector for execution in Forex/indices/commodities/crypto markets via MetaTrader. Please note that "tradeid=" variable must be passed with each alert, to let MetaTrader know which trade to modify. SLMOD, TPMOD are recently added commands, along with BE (as in "move stop-loss to breakeven" - but that's another topic).
Please disregard strategy backtest results, as this script is for coding education purposes only. However, it seems with the stop-loss mechanism enabled, the results are even better, than in original version of the script :)
RSI+PA+DCA StrategyDear Tradingview community,
This RSI based trading strategy is created as a training exercise. I am not a professional trader, but a committed hobbyist. This not a finished trading strategy meant for trading, but more a combination of different trading ideas I liked to explore deeper. The aim with this exercise was to gain more knowledge and understanding about price averaging and dollar cost averaging strategies. Aside that I wanted to learn how to program a pyramiding strategy, how to plot different order entry layers and how to open positions on a specific time interval.
In this script I adapted code from a couple of strategy examples by Coinrule . Who wrote simple and powerful examples of RSI based strategies and pyramiding strategies.
Also the HOWTO scripts shared by vitvlkv were very helpful for this exercise. In the script description you can find all the sources to the code.
A PA strategy could be a helpful addition to ease the 'stress-management to buy when price drops and resolution in selling when the price is rising' (Coinrule).
The idea behind the strategy is fairly simple and is based on an RSI strategy of buying low. A position is entered when the RSI and moving average conditions are met. The position is closed when it reaches a specified take profit percentage. As soon as the first the position is openend multiple PA (price average) layers are setup based on a specified percentage of price drop. When the price crosses the layer another position with somewhat the same amount of assets is entered. This causes the average cost price (the red plot line) to decrease. If the price drops more, another similar amount of assets is bought with another price average decrease as result. When the price starts rising again the different positions are separately closed when each reaches its specified take profit. The positions can be re-openend when the price drops again. And so on. When the price rises more and crosses over the average price and reached the specified take profit on top of it, it closes all the positions at once and cancels all orders. From that moment on it waits for another price dip before it opens a new position.
Another option is to activate a DCA function that opens a position based on a fixed specified amount. It enters a position at the start of every week and only when there are already other positions openend and if the current price is below the average price of the position. Like this buying on a time interval can help lowering the average price in case the market is down.
I read in some articles that price averaging is also called dollar cost averaging as the result is somewhat the same. Although DCA is really based on buying on fixed time intervals. These strategies are both considered long term investment strategies that can be profitable in the long run and are not suitable for short term investment schemes. The downturn is that the postion size increases when the general market trend is going down and that you have to patiently wait until the market start rising again.
Another notable aspect is that the logic in this strategy works the way it does because the entries are exited based on the FIFO (first in first out) close entry rule. This means that the first exit is applied to the first entry position that is openend. In other words that when the third entry reaches its take profit level and exits, it actually exits the first entry. If you take a close look in the 'List of Trades' of your Strategy Tester panel, you can see that some 'Long1' entries are closed by an 'Exit 3' and not by an 'Exit 1'. This means that your trade partly loses, but causes a decrease in average price that is later balanced out by lower or repeated entering and closing other positions. You can change this logic to a real sequential way of closing your entries, but this changes the averaging logic considerably. In case you want to test this you need to change, in this line in the strategy call 'close_entries_rule = "FIFO"', the word FIFO to ANY.
In the settings you can specify the percentage of portfolio to use for each trade to spread the risk and for each order a trading fee of 0.075% is calculated.